#include<iostream>
#include<set>
using namespace std;
const int N = 3e5 + 10;
int n, q;
set<int>G[N];
int main()
{
	cin >> n >> q;
	int ans = n;
	while (q--) {
		int op, x, y;
		scanf("%d%d", &op, &x);
		if (op == 1) {
			scanf("%d", &y);
			if (!G[x].size())ans--;
			if (!G[y].size())ans--;
			G[x].insert(y);
			G[y].insert(x);
		}
		else {
			for (int y : G[x]) {
				G[y].erase(x);
				if (!G[y].size())ans++;
			}
			if (G[x].size()) {
				ans++;
				G[x].clear();
			}
		}
		printf("%d\n", ans);
	}
	return 0;
}